Alle folgenden Aufgaben beziehen sich auf den Datensatz mpg, Teil des R-Pakets ggplot2.
displ und Spritverbrauch hwy; Farbe soll der Antriebsart drv entsprechen. Reduzieren Sie Overplotting.cyl und hwy in Verbindung setzt. Nutzen Sie das Geom “Linie” und entfernen Sie den Standardfehler!cyl=7!displ auf der X-Achse und hwy auf der Y-Achse. Verringern Sie Overplotting. Facettieren Sie nach der Antriebsart des Fahrzeugs. Verwenden Sie keine Punkte.library(tidyverse)Erstellen Sie ein Streudiagramm mit Motorgröße displ und Spritverbrauch hwy; Farbe soll der Antriebsart drv entsprechen. Reduzieren Sie Overplotting.
ggplot(mpg) +
aes(x = displ,
y = hwy,
color = drv) +
geom_point(alpha = .5,
position = "jitter")Gliedern Sie das Diagramm der letzten Aufgabe in mehrere Facetten und zwar anhand der Werte der Variablen “Antriebsart”.
ggplot(data = mpg) +
geom_jitter(aes(x = displ,
y = hwy,
color = drv),
alpha = .5) +
facet_wrap(~drv)Ergänzen Sie eine Regressionsgerade in rosa, ohne Standardfehler.
ggplot(data = mpg) +
aes(x = displ,
y = hwy) +
geom_jitter(aes(color = drv),
alpha = .5) +
facet_wrap(~drv) +
geom_smooth(method = "lm",
se = FALSE,
color = "pink")Visualisieren Sie die Verteilung des Spritverbrauchs; gruppieren Sie (mit Farben) nach Antriebsart und facettieren nach Klasse des Fahrzeugs.
ggplot(mpg) +
aes(x = hwy, fill = drv)+
geom_density() +
facet_wrap(~ class)Fügen Sie einen Titel hinzu und verändern Sie das Farbschema.
ggplot(mpg) +
aes(x = hwy, fill = drv)+
geom_density() +
facet_wrap(~ class) +
labs(title = "Verteilung des Spritverbrauchs (Highway)",
fill = "Antriebsart") +
scale_fill_brewer(type = "qual", palette = 2)Erstellen Sie ein Balkendiagramm, das zeigt, wie viele Autos es für jede Antriebsart gibt.
ggplot(mpg) +
geom_bar(aes(x = drv))Unterteilen Sie die Balken, um die Häufigkeit der Zylinderzahl anzuzeigen. Welche anderes Argument für “position” ist hier möglich (bzw. sinnvoll)?
ggplot(mpg) +
geom_bar(aes(x = drv, fill = factor(cyl)))ggplot(mpg) +
geom_bar(aes(x = drv, fill = factor(cyl)),
position = "dodge") +
scale_fill_viridis_d()ggplot(mpg) +
geom_bar(aes(x = drv, fill = factor(cyl)),
position = "fill") +
scale_fill_brewer(type = "qual", palette = 1)Aufgabe 1
Erstellen Sie ein Streudiagramm mit Variablen cyl und hwy in Verbindung setzt. Nutzen Sie das Geom “Linie” und entfernen Sie den Standardfehler!
ggplot(data = mpg) +
aes(x=cyl, y=hwy) +
geom_point() +
# geom_line() nicht hilfreich
geom_smooth(method = "lm", se=FALSE) # Gerade! # geom_smooth(, se=FALSE) # oder soErstellen Sie ein Streudiagramm mit Variablen cyl und hwy in Verbindung setzt. Nutzen Sie das Geom “Linie” und entfernen Sie den Standardfehler!
ggplot(data = mpg) +
aes(x=cyl, y=hwy) +
geom_point() +
# geom_line() nicht hilfreich
geom_smooth(method = "lm", se=FALSE) # Gerade! # geom_smooth(, se=FALSE) # oder soZum letzten Plot: Reduzieren Sie das Overplotting! Reduzieren Sie die “Lücke” bei cyl=7!
ggplot(data=mpg) +
aes(x=factor(cyl), y=hwy) +
geom_smooth(aes(group = 1),
se=FALSE)+
geom_jitter(
alpha = .5,
width = .1)library(tidyverse)ggplot(data = mpg) +
geom_point(mapping = aes(x = displ,
y = hwy,
color = class))Erstellen Sie ein Diagramm mit displ auf der X-Achse und hwy auf der Y-Achse. Verringern Sie Overplotting. Facettieren Sie nach der Antriebsart des Fahrzeugs. Verwenden Sie keine Punkte.
ggplot(mpg) +
aes(y = hwy, x = displ) +
geom_bin2d() +
facet_grid(. ~ drv)Kreiere ein Diagramm, welches 3 Scatterplot Diagramme beinhaltet und welche alle 3 durch eine blaue Linie durchkreuzt werden.
data(mpg)ggplot(data = mpg) +
aes(x = displ, y = hwy) +
geom_point() +
facet_wrap(~ drv) + # Mac: Alt-n, Windows: Altgr-+
geom_smooth()Kreiere ein Diagramm, bei welchem alle Autos mit Frontanrieb mit gelben Punkten dargestellt werden und alle anderen Autos mit blauen Punkten.
mpg %>%
mutate(is_front = case_when(
drv == "f" ~ TRUE,
TRUE ~ FALSE
)) %>%
ggplot() +
aes(x = displ, y = hwy, color = is_front) +
geom_point(size = 2) +
scale_color_manual(values = c("blue", "yellow")) +
theme_minimal()Stelle das Streudiagramm von der letzten Aufgabe als Flächendiagramm dar.
mpg %>%
mutate(is_front = case_when(
drv == "f" ~ TRUE,
TRUE ~ FALSE
)) %>%
mutate(displ = round(displ)) %>%
group_by(is_front, displ) %>%
summarise(hwy_avg = mean(hwy)) %>%
ggplot() +
aes(x = displ, y = hwy_avg, fill = is_front) +
geom_area()ggplot(mpg) +
aes(x = displ) +
geom_area(stat = "bin")mpg %>%
group_by(cyl, drv) %>%
summarise(mean_grouped = mean(hwy)) %>%
ggplot() +
aes(x = cyl, y = mean_grouped) +
geom_area(position = "stack",
aes(fill = drv)) ggplot(mpg) +
aes(x = displ) +
geom_area(stat = "bin", aes(fill = drv)) ggplot(mpg) +
aes(x = displ) +
geom_density(aes(fill = drv), alpha = .5) ggplot(mpg) +
aes(x = displ) +
geom_histogram(aes(fill = drv), alpha = .5) ggplot(mpg) +
aes(x = displ) +
geom_histogram(aes(fill = drv), bins = 10) +
facet_wrap(~ drv)Ersetze das Flächendiagramm durch ein Liniendiagramm
mpg %>%
mutate(is_front = case_when(
drv == "f" ~ TRUE,
TRUE ~ FALSE
)) %>%
mutate(displ = round(displ)) %>%
group_by(is_front, displ) %>%
summarise(hwy_avg = mean(hwy)) %>%
ggplot() +
aes(x = displ, y = hwy_avg, fill = is_front, color = is_front) +
geom_line() +
geom_point(size = 3, alpha = .7)